Network-based storage services store files on a computing device that is available via a network. Non-limiting examples of network-based storage services include OneDrive from Microsoft Corporation of Redmond, Wash., Google Drive from Google Inc. of Mountain View, Calif., Box from Box Inc. of Los Altos, Calif., Dropbox from DropBox, Inc. of San Francisco, Calif., Syncplicity from Syncplicity LLC of Santa Clara, Calif., and ODrive from Oxygen Cloud, Inc. of Redwood City, Calif. Depending on the use, the files stored using the network-based storage services may be accessible to only a single user or to multiple users.
Network-based storage services also often synchronize files that are stored locally on a client computing device with files stored by the network-based storage services. For example, the network-based storage services may synchronize files located in one or more directories in a file system on the client computing device. After a file in the directory is edited by a user, the changes to the file are relayed to the network-based storage services. Conversely, if a file that is being synchronized is changed in the network-based storage services (e.g., by another user having access to the file), those changes are relayed to the file on the client computing device.
Multiple changes may be grouped for synchronization at the same time. When the changes depend on one another, they may need to be applied in a particular order to comply with various policies that govern the file system (e.g., a file cannot be created in a folder that does not exist). The synchronization operation may fail if the changes are not applied in the correct order.
It is with respect to these and other general considerations that aspects have been made. Also, although relatively specific problems have been discussed, it should be understood that the aspects should not be limited to solving the specific problems identified in the background.